package bite;
import java.util.*;
/**
 * Creared with IntelliJ IDEA.
 * Description:求字典序在 s1 和 s2 之间的，长度在 len1 到 len2 的字符串的个数，结果 mod 1000007。
 * https://www.nowcoder.com/questionTerminal/f72adfe389b84da7a4986bde2a886ec3
 * User:yxd
 * Date:2022-06-19
 * Time:22:55
 */
public class Day39_2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            //将获得到的字符串直接放在stringbuilder中
            StringBuilder s1 = new StringBuilder(input.next());
            StringBuilder s2 = new StringBuilder(input.next());
            int len1 = input.nextInt();
            int len2 = input.nextInt();

            //这里可以将s1和s2看成是26进制的数字,来进行计算,
            //而如果不足len2位可以给s1补a,s2补z+1,就可以方便统计个数了
            for(int i = s1.length(); i < len2;i ++){
                s1.append('a');
            }
            for(int i = s2.length();i < len2 ;i ++){
                s2.append('z' + 1);
            }

            //然后将每一位进行相减得到每一位的差值,需要len几就计算此位后面的就可以了
            int[] array = new int[len2];
            for(int i = 0;i < len2;i ++){
                array[i] = s2.charAt(i) - s1.charAt(i);
            }

            //然后再统计结果
            long count = 0;
            for(int i = len1;i <= len2;i ++){
                //计算每一位所能加到的个数
                for(int j = 0;j < i;j ++){
                    count += array[j] * Math.pow(26, i - j - 1);
                }
            }
            //最后要减去结束包含的一个字符
            System.out.println((count - 1) % 1000007);
        }
    }
}
